/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "controlcalidad")
@NamedQueries({
    @NamedQuery(name = "Controlcalidad.findAll", query = "SELECT c FROM Controlcalidad c"),
    @NamedQuery(name = "Controlcalidad.findByNumerocontrolcalidad", query = "SELECT c FROM Controlcalidad c WHERE c.numerocontrolcalidad = :numerocontrolcalidad"),
    @NamedQuery(name = "Controlcalidad.findByFecha", query = "SELECT c FROM Controlcalidad c WHERE c.fecha = :fecha"),
    @NamedQuery(name = "Controlcalidad.findByHora", query = "SELECT c FROM Controlcalidad c WHERE c.hora = :hora"),
    @NamedQuery(name = "Controlcalidad.findByTamanolote", query = "SELECT c FROM Controlcalidad c WHERE c.tamanolote = :tamanolote"),
    @NamedQuery(name = "Controlcalidad.findByTamanomuestra", query = "SELECT c FROM Controlcalidad c WHERE c.tamanomuestra = :tamanomuestra"),
    @NamedQuery(name = "Controlcalidad.findByTotaldefectos", query = "SELECT c FROM Controlcalidad c WHERE c.totaldefectos = :totaldefectos"),
    @NamedQuery(name = "Controlcalidad.findByDigitador", query = "SELECT c FROM Controlcalidad c WHERE c.digitador = :digitador"),
    @NamedQuery(name = "Controlcalidad.findByFechadigitador", query = "SELECT c FROM Controlcalidad c WHERE c.fechadigitador = :fechadigitador")})
public class Controlcalidad implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "numerocontrolcalidad")
    private String numerocontrolcalidad;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fecha")
    @Temporal(TemporalType.DATE)
    private Date fecha;
    @Basic(optional = false)
    @NotNull
    @Column(name = "hora")
    @Temporal(TemporalType.TIME)
    private Date hora;
    @Basic(optional = false)
    @NotNull
    @Column(name = "tamanolote")
    private int tamanolote;
    @Basic(optional = false)
    @NotNull
    @Column(name = "tamanomuestra")
    private int tamanomuestra;
    @Column(name = "totaldefectos")
    private Integer totaldefectos;
    @Basic(optional = false)
    @NotNull
    @Column(name = "digitador")
    private int digitador;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechadigitador")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechadigitador;
    @JoinColumn(name = "detalleordenproduccion_pk", referencedColumnName = "coddetalleorden")
    @ManyToOne(optional = false)
    private Detalleordenproduccion detalleordenproduccionPk;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "controlcalidadFk")
    private List<Detallecontrolcalidad> detallecontrolcalidadList;

    public Controlcalidad() {
    }

    public Controlcalidad(String numerocontrolcalidad) {
        this.numerocontrolcalidad = numerocontrolcalidad;
    }

    public Controlcalidad(String numerocontrolcalidad, Date fecha, Date hora, int tamanolote, int tamanomuestra, int digitador, Date fechadigitador) {
        this.numerocontrolcalidad = numerocontrolcalidad;
        this.fecha = fecha;
        this.hora = hora;
        this.tamanolote = tamanolote;
        this.tamanomuestra = tamanomuestra;
        this.digitador = digitador;
        this.fechadigitador = fechadigitador;
    }

    public String getNumerocontrolcalidad() {
        return numerocontrolcalidad;
    }

    public void setNumerocontrolcalidad(String numerocontrolcalidad) {
        this.numerocontrolcalidad = numerocontrolcalidad;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public Date getHora() {
        return hora;
    }

    public void setHora(Date hora) {
        this.hora = hora;
    }

    public int getTamanolote() {
        return tamanolote;
    }

    public void setTamanolote(int tamanolote) {
        this.tamanolote = tamanolote;
    }

    public int getTamanomuestra() {
        return tamanomuestra;
    }

    public void setTamanomuestra(int tamanomuestra) {
        this.tamanomuestra = tamanomuestra;
    }

    public Integer getTotaldefectos() {
        return totaldefectos;
    }

    public void setTotaldefectos(Integer totaldefectos) {
        this.totaldefectos = totaldefectos;
    }

    public int getDigitador() {
        return digitador;
    }

    public void setDigitador(int digitador) {
        this.digitador = digitador;
    }

    public Date getFechadigitador() {
        return fechadigitador;
    }

    public void setFechadigitador(Date fechadigitador) {
        this.fechadigitador = fechadigitador;
    }

    public Detalleordenproduccion getDetalleordenproduccionPk() {
        return detalleordenproduccionPk;
    }

    public void setDetalleordenproduccionPk(Detalleordenproduccion detalleordenproduccionPk) {
        this.detalleordenproduccionPk = detalleordenproduccionPk;
    }

    public List<Detallecontrolcalidad> getDetallecontrolcalidadList() {
        return detallecontrolcalidadList;
    }

    public void setDetallecontrolcalidadList(List<Detallecontrolcalidad> detallecontrolcalidadList) {
        this.detallecontrolcalidadList = detallecontrolcalidadList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (numerocontrolcalidad != null ? numerocontrolcalidad.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Controlcalidad)) {
            return false;
        }
        Controlcalidad other = (Controlcalidad) object;
        if ((this.numerocontrolcalidad == null && other.numerocontrolcalidad != null) || (this.numerocontrolcalidad != null && !this.numerocontrolcalidad.equals(other.numerocontrolcalidad))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mrp.persistencia.entity.Controlcalidad[ numerocontrolcalidad=" + numerocontrolcalidad + " ]";
    }
    
}
